x86: don't drop guest visible state updates when 64-bit PV guest is in user mode
authorJan Beulich <jbeulich@suse.com>
Thu, 23 Jan 2014 09:30:08 +0000 (10:30 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 23 Jan 2014 09:30:08 +0000 (10:30 +0100)
commit231d7f4098c8ac9cdb78f18fcb820d8618c8b0c2
tree62e3e1d518718abe09f64a2072bd328e8faef88f
parentb2625bef58b66a012df2f759a1fb7ba50d139f7d
x86: don't drop guest visible state updates when 64-bit PV guest is in user mode

Since 64-bit PV uses separate kernel and user mode page tables, kernel
addresses (as usually provided via VCPUOP_register_runstate_memory_area
and possibly via VCPUOP_register_vcpu_time_memory_area) aren't
necessarily accessible when the respective updating occurs. Add logic
for toggle_guest_mode() to take care of this (if necessary) the next
time the vCPU switches to kernel mode.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/domain.c
xen/arch/x86/time.c
xen/arch/x86/x86_64/traps.c
xen/include/asm-x86/domain.h